package upcweb.dao;

import java.sql.ResultSet;

import upcweb.modelo.ClsComentarioOferta;
import upcweb.modelo.ClsInfoComentario;
import upcweb.util.ClsReturn;

public class ComentariosDAO {

	SQLProcDAO sqlDAO = new SQLProcDAO();
	

	public ClsReturn comentarOferta(ClsComentarioOferta clCom){
		
		return sqlDAO.execQuery("{call sp_add_coment(?,?,?,?)}",
								new Object[]{clCom.getNo_Oferta(), clCom.getNo_usuario(),clCom.getTx_comentario()},
								1);	
	}
	
	public ClsReturn UpComentOferta(ClsComentarioOferta clCom){
		//System.out.println("Start");
		return sqlDAO.execQuery("call sp_good_coment(?,?,?,?)",
								new Object[]{clCom.getNo_Oferta(), clCom.getNo_comentario(), clCom.getNo_usuario(),clCom.getCheck()});
	
	}
	
	
	public ClsReturn DownComentOferta(ClsComentarioOferta clCom){
		// Campos
		System.out.println("Down");
		return sqlDAO.execQuery("call sp_bad_coment(?,?,?,?)",
								new Object[]{clCom.getNo_Oferta(), clCom.getNo_comentario(), clCom.getNo_usuario(),clCom.getCheck()});
	
	}
	
	public ClsReturn eliminarComent(ClsComentarioOferta clCom){
		return sqlDAO.execQuery("call sp_del_coment(?,?,?)", new Object[]{clCom.getNo_Oferta(), clCom.getNo_usuario(),clCom.getNo_comentario()});
	}

	public ClsInfoComentario getInfoComUsuario(ClsComentarioOferta clCom) {
		// TODO Auto-generated method stub
		ClsInfoComentario info=new ClsInfoComentario();
//		try {
//			ResultSet rs=sqlDAO.getData("{call sp_user_coment(?,?,?)}", new Object[]{clCom.getNo_Oferta(),clCom.getNo_comentario(),clCom.getNo_usuario()});
//			while(rs.next()){
//				if (rs.getInt("good")==1)
//				info.setGood(1);
//				if (rs.getInt("bad")==1)
//				info.setBad(1);
//			}
//		} catch (Exception e) {
//			// TODO: handle exception
//			e.printStackTrace();
//		}
//		return info;
		return info;
	}
	
/*	DELIMITER //
	CREATE PROCEDURE sp_add_coment (ofe int, user char(15), txt varchar(200))
	begin
	    DECLARE last int;
	    set last = (select ifnull(max(no_comentario),0) from ofertas where nu_oferta = ofe) + 1;
	    INSERT INTO `upcweb`.`Comentario` (`co_oferta`, `fe_comentario`, `tx_comentario`, `fe_creacion`, `ho_creacion`, `no_bien`, `no_mal`, `no_usuario`, `fl_activo`, `no_comentario`) 
	    VALUES (ofe, current_date(), txt, curdate(), curtime(), 0, 0, user, 'X', last);
	end;
	// delimiter

	DELIMITER //
	CREATE PROCEDURE sp_del_coment (ofe int, user char(15),nro int)
	begin
	    DECLARE last int;
	    declare us char(15);
	    set us = ifnull((select no_usuario from comentario where nu_oferta = ofe and no_comentario = nro),'');
	    if us = user then
	    UPDATE comentario set fl_activo = -'0' where nu_oferta = ofe and no_comentario = nro;
	    elseif trim(us) = '' then
	        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'COmentario no puede ser procesado';
	    else
	        SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Solo el usuario creador puede quitar este comentario';
	    endif;
	end;
	// delimiter
*/
	
}
